/**
 *  
 *  成员的消息缓存
 *  
 */

export var Queue = {
	//类变量和方法
	createNew: function(缓存长度) {
		//定义私有变量
		//定义对象内部方法
		var self = {};
		self.i最大缓存 = 缓存长度 || 200; //每个缓存最多保留n条记录
		self.i缓存长度 = 0; //当前缓存长度 0表示没有数据 从1 开始
		self.a缓存 = []; //历史缓存
		// 向队列尾部添加元素
		self.push = function(element) {
			self.a缓存.push(element)
		}

		// 移除队列的第一个元素，并返回被移除的元素
		self.pop = function() {
			return self.a缓存.shift();
		}

		self.isempty = function() {
			return (self.a缓存.length == 0);
		}
		self.top = function() {
			if (self.isempty()) return null;
			else return self.a缓存[0];
		}
		self.last = function() {
			if (self.isempty()) return null;
			else return self.a缓存[self.a缓存.length - 1];
		}
		//转换成字符串输出
		self.toString = function() {
			return self.a缓存.join('\n');
		}
		// 清空队列
		self.clear = function() {
			delete self.a缓存;
			self.a缓存 = [];
		}
		// 获取队列的长度
		self.size = function() {
			return self.a缓存.length
		}
		// 打印队列里的元素
		self.print = function() {
			console.log(self.a缓存.toString())
		}
		return self;
	}
};

// let qq = Queue.createNew(12);
// qq.push(1);
// qq.push(2);
// console.log(qq.pop())
// console.log(qq.pop())
// console.log(qq.pop())
